﻿/*!
 *  @brief     数据库的数据结构体
 *  @details
 *  @author    Will.Yin
 *  @version   v1.0
 *  @date      2022-01-11
 *  @copyright Eoslift.
 *  @note
 */

#ifndef DATABASEDATASTRUCT_H
#define DATABASEDATASTRUCT_H

#include "common_global.h"

#include <QObject>

namespace Common {

/*!
 *  @brief 数据库类型
 */
enum DatabaseType {
    DB_NONE = 0,
    DB_MYSQL,               // 使用MySql数据库
    DB_SQLITE,              // 使用SQLite数据库
    DB_ORACLE               // 使用Oracle数据库
};

/*!
 *  @brief 数据库特征信息
 *  @note 保存当前使用的数据库中的功能特点
 */
struct DBFeature {
    bool lastInsertId;          /*!< 是否支持查询最后插入数据的id */
    bool transactions;          /*!< 是否支持事务 */
};

/*!
 *  @brief 数据库配置信息
 */
struct DatabaseParameter{
    DatabaseParameter() : dbType(DB_MYSQL),hostName("127.0.0.1")
      ,dbName("test"),dbUser("root"), password("123456"), port(3306){

    }

    DatabaseType dbType;		// 数据库类型
    QString hostName;			// 主机名
    QString dbName;				// 待访问数据库名
    QString dbUser;				// 用户名
    QString password;			// 密码
    ushort port;				// 数据库端口
};

}//namespace Database

#endif // DATABASEDATASTRUCT_H
